Выпуской проект "А/В - тестирование"

Цель:

  • Проведение А/В - теста,
  • Оценка результатов А/В - теста.

Задачи:

  • Импорт библиотек,
  • Импорт и чтение датасетов,
  • Предобработка датасетов,
  • Проведение исследовательского анализа данных,
  • Провести А/В - тестирование и оченить его результаты,
  • Сформулировать общие выводы по результатам исследования.

Описание проекта:

ПОСТАНОВКА ЗАДАЧИ: Необходимо провести оценку результатов А/В - теста. Имеется датасет с действиями пользователей, техническое задание и несколько вспомогательных датасетов.

НЕОБХОДИМО:

ТЕХНИЧЕСКОЕ ЗАДАНИЕ:

ПЛАН РАБОТЫ (согласно технического задания):

Оглавление:


Импорт библиотек, датасетов и предобработка данных

Импортируем библиотеки и заранее избавляемся от возможных предупреждений системы

Импортируем и читаем датасеты

Читаем первый датасет и проверяем его на наличие пропусков и дубликатов

ВАЖНО! В датасете отсутствуют пропуски и дубликаты.

Изменяем тип данных в столбцах start_dt и finish_dt

Читаем второй датасет и проверяем его на наличие пропусков и дубликатов

ВАЖНО! В датасете отсутствуют пропуски и дубликаты.

Изменим тип данных в столбцe first_date и выведем уникальные значения в столбце region

Читаем третий датасет и проверяем его на наличие пропусков и дубликатов

ВАЖНО! В датасете отсутствуют дубликаты, однако имеются многочисленные пропуски в столбце details.

Изменяем тип данных в столбце event_dt

Анализируем природу многочисленных пропусков

ВАЖНО! Нам известно, что в данном столбце хранятся дополнительные данные о покупках - стоимость покупок в долларах. Отсюда можно сделать вывод, что NaN - это, возможно, отсутствие самого факта покупки.

Читаем четвертый датасет и проверяем его на наличие пропусков и дубликатов

ВАЖНО! В датасете отсутствуют пропуски и дубликаты.

Выведем уникальные значения в столбцах group и ab_test

ЭТАП 1. ВЫВОДЫ:


Исследовательский анализ

Рассмотрим распределение пользователей по двум тестам

ВАЖНО!

Проверим факт участия пользователей в обоих тестах

ВАЖНО! 1602 пользователя принимало участие в обоих тестах.

ВАЖНО!

В теории, разницу в 1602 пользователя, равно как и второй тест (interface_eu_test) рекомендуется удалять для того, чтобы эти данные не искажали результаты анализа. На практике же это не всегда уместно, тем более, что формирование абсолютно "чистых" данных - крайне маловероятно. Мне кажется, что удаление данных, тем более, напрямую связанных с пользователями - это самя крайняя мера и в конкретном случае удалять эти данные не стоит.


Проверим распределение пользователей, которые участвовали в другом тесте в группах теста recommender_system_test

ВАЖНО! Пользователи, принимавшие участие в другом тесте, распределяются в группах recommender_system_test практически равномерно. Возможно, это не повлияет на результаты анализа...

Оценим количество пользователей данного теста, которые вошли в датасет events

Оценим количество пользователей, которые не проявляли активности с момента регистрации

ВАЖНО! 3026 пользователей после регистрации 07.12.2020 не проявляли никакой активности вплоть до 04.01.2021.

Оценим распределение неактивных пользователей по группам в тесте

ВАЖНО! Неактивных пользователей в группе В 61,5%, а в группе А - 38,5%

Проверим пересечение по пользователям в группах recommender_system_test

ВАЖНО! Пересечений по группам нет.

Посмотрим на численное распределение пользователей по группам

ВАЖНО! В группе А - 57,07% пользователей, в группе В - 42,93% пользователей. Распеределение не является равномерным!

Посмотрим, совпадает ли время регистрации пользователей с условием ТЗ

ВАЖНО! Часть пользователей зарегистировалась после окончания регистрации по условиям ТЗ.

ПРОМЕЖУТОЧНЫЕ ВЫВОДЫ:


Рассмотрим распределение пользователей по регионам из recommender_system_test

ВАЖНО! Из 6701 пользователя в recommender_system_test, 94,78% приходится на регион EU.


Проверим, совпадает ли распределение событий для новых пользователей по датам с условием ТЗ

ВАЖНО! Данных по новым событиям практически на пять дней меньше, чем обозначено в ТЗ.

Проверим, какие маркетинговые события попадали на время проведения теста

ВАЖНО! Событие Christmas & New Year Promo актуально для региона EU. Из-за этого, поведение пользователей может отличаться от привычного и это, в свою очередь, может сказаться на проведении исследования.

Согласно ТЗ, в анализе должны учитываться только 14 первых дней активности пользователей, после регистрации в системе. Исключаем лишние данные

Согласно ТЗ, аудитория - 15% новых пользователей из региона EU. Проверяем

ВАЖНО! Данное условие ТЗ выполняется.

Формируем датасет, состоящий исключительно из пользователей из региона EU

Добавим в датасет тестовые группы

ПРОМЕЖУТОЧНЫЕ ВЫВОДЫ:

Полученные данные как качественно, так и количественно довольно существенно отличаются от тех, что даны в качестве условий в ТЗ. Это может существенным образом исказить результаты анализа.


Исследуем конверсию. Рассмотрим распределение событий (активности) пользователей. Удалим маркетинговые события, которые могут влиять на поведение пользователей.

Подсчитаем количество событий в группах

ВАЖНО!

Количество событий в группе А (16438) более, чем в три раза превышает количество событий в группе В (4789).

Интересно, что последовательность событий в группах различна:

По всей видимости, часть пользователей из группы А покупала товар, даже не заглядывая в корзину.


Оценим распределение количества событий, совершаемых пользователями за период 07.12. 2020 - 25.12.2020

ВАЖНО!

Теперь посмотрим, сколько событий совершает один пользователь

ПРОМЕЖУТОЧНЫЕ ВЫВОДЫ:


Приступаем к формированию продуктовой воронки

ВАЖНО!

6545 пользователей - это 3675 активные пользователи из региона EU плюс те, кто совершил операцию login, но дальше активности не проявлял.

ВАЖНО!

ЭТАП 2. ВЫВОДЫ:


Оценка результатов А/В - тестирования. Вариант 1.

Выведем еще раз количество пользователей в каждой группе в разрезе событий

ВАЖНО! Размеры групп существенно различны. Разбиение данных по группам неоптимально. В группах присутсвуют исключительно активные пользователи.


При проверке статистической разницы долей применим Z-критерий для сравнения двух независимых выборок. Критический уровень значимости alpha примем за .05. Также применим поправку Бонферрони.

Формулируем Н0 и Н1 гипотезы

ГИПОТЕЗА Н0: Доли двух сравниваемых контрольных групп равны. Между конверсией групп значимая разница отсутствует.

ГИПОТЕЗА Н1: Доли двух сравниваемых контрольных групп различны. Между конверсией групп есть значимая разница.


Проводим множественный тест (три сравнения по: 'product_page', 'product_cart', 'purchase'. Событие login исключаем, поскольку это действие (событие) совершили все пользователи групп). Чтобы исключить вероятность ошибки, необходимо скорректировать alpha методом Бонферрони - поделить уровень значимости на число сравнений.

Рассмотрим результаты проверки гипотез

ЭТАП 3 (Вариант 1). ВЫВОДЫ:

Применение z-критерия и сравнение долей двух групп (без учета "молчащих пользователей") показало, что:


Оценка результатов А/В - тестирования. Вариант 2.

ЭТАП 3 (Вариант 2). ВЫВОДЫ:

Применение z-критерия и сравнение долей двух групп (с учетом "молчащих пользователей") показало, что между конверсией групп по всем событиям ('product_page', 'product_cart' и 'purchase') есть статистически значимая разница. Воронка событий, построенная с учетом "молчащих пользователей" подтверждает выводы проверки с помощью z-критерия.


Общие выводы и рекомендации:

ВЫВОДЫ ОТНОСИТЕЛЬНО ТЕХНИЧЕСКОГО ЗАДАНИЯ:

РЕКОМЕНДАЦИИ: